﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using wp8nop.Model;

namespace wp8nop.Design
{
    public class DesignDataService : IDataService
    {
        public void GetAllProductsDisplayedOnHomePage(Action<ObservableCollection<ProdottoViewModel>, Exception> callback)
        {
            // Use this to create design time data

            var item = new ProdottoViewModel(new nopService.products()
            {
                 imgs = new nopService.Imgs()
                 {
                     thumb = "http://127.0.0.1/casio-mod-w-215h-6-original-box-casio-w-215h-6"
                 }
            }
            )
            {


            };

            ObservableCollection<ProdottoViewModel> prod = new ObservableCollection<ProdottoViewModel>();
            prod.Add(item);
            callback(prod, null);
        }


        public System.Collections.Generic.List<Categoria> GetCategorie()
        {
            List<Categoria> catList = new List<Categoria>();
            catList.Add(new Categoria()
            {
                Descrizione = "Orologi",
                IDCategoria = 415
            });
            catList.Add(new Categoria()
            {
                Descrizione = "Gioielli",
                IDCategoria = 417
            });
            catList.Add(new Categoria()
            {
                Descrizione = "Occhiali da sole",
                IDCategoria = 431
            });
            catList.Add(new Categoria()
            {
                Descrizione = "Borse",
                IDCategoria = 441
            });
            catList.Add(new Categoria()
            {
                Descrizione = "Novità",
                IDCategoria = 463
            });
            catList.Add(new Categoria()
            {
                Descrizione = "Breil",
                IDCategoria = 0
            });
            catList.Add(new Categoria()
            {
                Descrizione = "Just Cavalli",
                IDCategoria = 0
            });
            catList.Add(new Categoria()
            {
                Descrizione = "Casio",
                IDCategoria = 0
            });
            catList.Add(new Categoria()
            {
                Descrizione = "Casio",
                IDCategoria = 0
            });
            catList.Add(new Categoria()
            {
                Descrizione = "Sector",
                IDCategoria = 0
            });
            catList.Add(new Categoria()
            {
                Descrizione = "Morellato",
                IDCategoria = 0
            });
            catList.Add(new Categoria()
            {
                Descrizione = "Guess",
                IDCategoria = 0
            });
            catList.Add(new Categoria()
            {
                Descrizione = "Chronotech",
                IDCategoria = 0
            });

            return catList;
        }


        public List<Categoria> GetSubCategorie(string cat)
        {
            throw new NotImplementedException();
        }


        public void GetProducts(Action<List<ProdottoViewModel>, Exception> callback, Categoria selCat, string search, int Page)
        {
            throw new NotImplementedException();
        }

        public ObservableCollection<ProdottoViewModel> Carrello
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }


        public void AddToCart(ProdottoViewModel prod)
        {
            throw new NotImplementedException();
        }


        public double GetTotaleCarrello()
        {
            throw new NotImplementedException();
        }


        public double GetSpedizioni()
        {
            throw new NotImplementedException();
        }


        public void ClearCarrello()
        {
            throw new NotImplementedException();
        }
    }
}